gdk_window_hide (window);
if (window->parent)
- window->parent->children = g_list_remove (window->parent->children, window);
+ window->parent->children = g_list_remove_link (window->parent->children, &window->children_list_node);
old_parent = window->parent;
window->parent = new_parent;
window->y = y;
if (new_parent)
- window->parent->children = g_list_prepend (window->parent->children, window);
+ window->parent->children = g_list_concat (&window->children_list_node, window->parent->children);
_gdk_synthesize_crossing_events_for_geometry_change (window);
if (old_parent)
if (!window->parent || GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_FOREIGN)
window->parent = _gdk_root;
- window->parent->children = g_list_prepend (window->parent->children, window);
+ window->parent->children = g_list_concat (&window->children_list_node, window->parent->children);
window->parent->impl_window->native_children =
g_list_prepend (window->parent->impl_window->native_children, window);
}
if (old_parent)
- old_parent->children =
- g_list_remove (old_parent->children, window);
+ old_parent->children = g_list_remove_link (old_parent->children, &window->children_list_node);
- parent->children = g_list_prepend (parent->children, window);
+ parent->children = g_list_concat (&window->children_list_node, parent->children);
return FALSE;
}
if (!win->parent || GDK_WINDOW_TYPE (win->parent) == GDK_WINDOW_FOREIGN)
win->parent = gdk_screen_get_root_window (screen);
- win->parent->children = g_list_prepend (win->parent->children, win);
+ win->parent->children = g_list_concat (&win->children_list_node, win->parent->children);
win->parent->impl_window->native_children =
g_list_prepend (win->parent->impl_window->native_children, win);